﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Kavaa.Core.Rules;
using Kavaa.Modules.PortailMedical.Entity;

namespace Kavaa.Modules.PortailMedical.Validation
{
    /// <summary>
    /// Classe qui contient les méthodes d'extension sur les entités métiers
    /// Pour la validation des données.
    /// </summary>
    public static class PortailMedicalValidationExtensions
    {

        /// <summary>
        /// Ajoute une méthode d'extenion sur la classe Clinique qui retourne les règles de validation métier.
        /// </summary>
        /// <param name="clinique">La classe sur laquelle rajouter la méthode</param>
        /// <returns>La liste des règles de validation</returns>
        public static IEnumerable<RuleViolation> GetRuleViolations(this Clinique clinique)
        {
            yield break;
        }

        /// <summary>
        /// Valide l'entité métier Clinique
        /// </summary>
        /// <param name="clinique">La classe sur laquelle rajouter la règle métier</param>
        /// <returns>true si les données sont ok, false sinon</returns>
        public static bool Validate(this Clinique clinique)
        {
            if (clinique == null) return false;
            if (clinique.Name != null && clinique.Name != String.Empty) return true;
            return true;
        }

    }
}
